# -*- coding: utf-8 -*-
# 读取Java代码文件并解析为AST
import javalang


def parse_java_code(file_path):
    with open(file_path, 'r',encoding='utf-8') as file:
        code = file.read()
    return javalang.parse.parse(code)

# 判断类型是否为基本数据类型或包装类
def is_basic_or_wrapper_type(type_name):
    basic_types = {'int', 'float', 'double', 'long', 'short', 'byte', 'char', 'boolean'}
    wrapper_types = {'Integer', 'Float', 'Double', 'Long', 'Short', 'Byte', 'Character', 'Boolean', 'String'}
    return type_name in basic_types or type_name in wrapper_types

# 判断类型是否为自定义对象
def is_custom_object(type_name):
    # 在这里可以根据你的实际项目结构，判断是否为自定义对象
    # 例如，你可以检查类型名是否在项目的包结构中存在
    return not is_basic_or_wrapper_type(type_name)